package juego.enemigos;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;

import principal.Constantes;

import basicas.Posicion;
import juego.ObjetoDelJuego;
import juego.armas.Arma;

public abstract class ArmaBonus extends ObjetoDelJuego {

	private int tiempoDesaparecer;
	
	public ArmaBonus(Node n) {
		super(n);		
	}
	
	public ArmaBonus(Posicion posicionInicial) {
		super(posicionInicial);
		tiempoDesaparecer = Constantes.TIEMPO_DESAPARECER_ARMAENEMIGO;
	}

	@Override
	public void vivir() {
		buscarAlgoTank();
		tiempoDesaparecer = tiempoDesaparecer - 1;
		if (tiempoDesaparecer < 0) morir();
	}

	public void informarPosicion() {		
		
	}
	
	public void buscarAlgoTank() {		
		if (getPosicion().Distancia(getNivel().getAlgoTank().getPosicion()) < 1) {	// La distancia al tanque principal.
			getNivel().getAlgoTank().setArma(armaBonus()); 
			morir();
		} 
	}

	public abstract Arma armaBonus();
	
	public Element getElemento(Document doc) {		
		Element nuevoNodo;
		
		nuevoNodo = super.getElemento(doc);

		return nuevoNodo;
	}
}
